# -*- coding: utf-8 -*-

'''
projecto- classe destinada a escrever as estatísticas realizadas a
um determinado algoritmo num ficheiro csv
autor- Ana Isabel Marques 6052
data de criação do módulo- 08/05/2013
'''
import csv

class GerarCSV:

    '''
    Construtor
    @param nomeFicheiro - nome do ficheiro a gerar
    @param listaEstatisticaAlgoritmo - lista que contém a informação do estudo realizado
    '''
    def __init__(self, nomeFicheiro, listaEstatisticaAlgoritmo):
        self.nomeFicheiro = nomeFicheiro
        self.listaEstatisticaAlgoritmo = listaEstatisticaAlgoritmo
        pass
        
    
    '''
    Este método escreve num ficheiro csv o estudo realizado a um determinado algoritmo:
        - n - tamanho de entrada
        - tempo de execução
        - média
        - variância
        - desvio-padrão
        - erro amostral
    @param nomeFicheiro - nome do ficheiro a gerar
    @param listaEstatisticaAlgoritmo - lista que contém a informação do estudo realizado
    '''
    def gerarCSVEstatisticas(self):

        #estatisticas = obter_estatisticas()
        #ficheiroCSV = open('csv/estudoComputacional.csv', 'wb')
        ficheiroCSV = open(self.nomeFicheiro, 'wb+')

        escritaFicheiro = csv.writer(ficheiroCSV, delimiter=',')
        
        escritaFicheiro.writerow(["N", "Tempo Execução", "Média", "Variância", "Desvio-Padrão", "Erro Amostral"])
 
        for n in self.listaEstatisticaAlgoritmo:
            escritaFicheiro.writerow([n])
            pass

        ficheiroCSV.close()
        pass
    
        
